package com.shengqin.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Set;

@Data
@TableName("t_plan_apply_project")
public class PlanApplyProject {
    @TableId(type = IdType.AUTO)
    private Integer id;
    private Integer schoolId;
    @ExcelProperty("学校名称")
    private String schoolName;
    @ExcelProperty("学籍号")
    private String studyCode;
    @ExcelProperty("年级编号")
    private Integer gradeId;
    @ExcelProperty("班级名称")
    private String classesName;
    @ExcelProperty("姓名")
    private String name;
    @ExcelProperty("性别")
    private String sex;
    @ExcelProperty("身份证号")
    private String idNumber;
    @ExcelProperty("IC卡号")
    private String cardNo;
    private Integer classesId;
    private Integer planId;
    private String groupNo;
    private Integer groupInNo;
    private Boolean recorded;
    private Boolean locked;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime recordTime;

    private Boolean publicized;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime publicityTime;

    private String projectNames;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;


    @TableField(exist = false)
    private List<String> projectNameList;
    @TableField(exist = false)
    private String gradeName;

    /**
     * 用于准考证打印显示单独的组号
     */
    @TableField(exist = false)
    private String showGroupNo;

    @ExcelProperty("项目一")
    @TableField(exist = false)
    private String projectName1;
    @ExcelProperty("项目二")
    @TableField(exist = false)
    private String projectName2;
    @ExcelProperty("项目三")
    @TableField(exist = false)
    private String projectName3;
    @ExcelProperty("项目四")
    @TableField(exist = false)
    private String projectName4;
    @ExcelProperty("项目五")
    @TableField(exist = false)
    private String projectName5;
    @ExcelProperty("项目六")
    @TableField(exist = false)
    private String projectName6;
    @ExcelProperty("项目七")
    @TableField(exist = false)
    private String projectName7;
    @ExcelProperty("项目八")
    @TableField(exist = false)
    private String projectName8;
    @ExcelProperty("项目九")
    @TableField(exist = false)
    private String projectName9;
    @ExcelProperty("项目十")
    @TableField(exist = false)
    private String projectName10;

    @TableField(exist = false)
    private String avatarUrl;
    @TableField(exist = false)
    private Integer excelNum;
    @TableField(exist = false)
    private String groupNoQrCode;
    @TableField(exist = false)
    private String groupSchoolNo;
    @TableField(exist = false)
    private String planName;
    @TableField(exist = false)
    private String studyCodeQrCode;
    /**
     * 每组里面的学生
     */
    @TableField(exist = false)
    private List<PlanApplyProject> testStudents;
    /**
     * 测试项目状态 正常，免考等等
     */
    @TableField(exist = false)
    private List<Map<String,Object>> projectStatusList;

    @TableField(exist = false)
    private List<TestResult> testResultList;
    @TableField(exist = false)
    private SummaryResult summaryResult;
    @TableField(exist = false)
    private long projectMaxSize;
    @TableField(exist = false)
    private List<String> maxProjectNames;
}
